This invention generally relates to a designing of an integrated circuit (IC) or a large-scale integrated circuit (LSI), and specifically relates to a logic design wherein a functional description is transformed into a logic circuit, which is in turn transformed into a circuit of actual elements. This invention also relates to a method of and apparatus for compiling circuit: transformation rules which are usable in such a logic design system.
Generally, a top-down technique is used in a designing of an LSI. In such a top-down technique, the details of required functions are initially established and then a structure corresponding to the required functions is written in a primitive logic circuit which is transformed into an actual circuit composed of actual elements.
Computer based design systems are often used in designing an LSI based on a top-down technique. The computer-based design system uses a higher computer language such as "Prolog" or "C" to transform a description of functions by a higher into a logic circuit level and to transform the logic circuit level into an actual circuit level.
In a collection of papers related to lectures at a National Meeting of Japanese Society of Information Processing, 1985, pages 1923-1926, a circuit transformation technology is described in which a logic circuit containing imaginary logic elements is transformed into a logic circuit composed of only actual logic elements. Specifically, a prior-art logic design system based on this circuit transformation technology prestores information of logic elements containing imaginary logic elements, and information about the relations between the logic circuits and corresponding actual logic circuits. The latter information is called "circuit transformation information". When information of a logic circuit containing imaginary logic elements is supplied to the logic design system, the logic design system executes the following processes. The respective logic elements of the input logic circuit are collated with the prestored logic elements, and actual logic circuits are sequentially generated for the respective logic elements of the input logic circuit by referring to the circuit transformation information. The input logic element and its fan out are considered in the generation of a corresponding actual logic circuit.
The above-mentioned prior-art logic design system has the following problem. Since the transformation of each input logic element into a corresponding actual logic circuit is fixed, a circuit transformation can not be performed in consideration of the observation of a synthetic circuit structure. Accordingly, the actual logic circuits tend to be more redundant than that obtained by a skilled circuit designer.
This problem of the prior-art logic design system is resolved by a logic design system disclosed in Japanese published unexamined patent application 59-168545. The logic design system of Japanese patent application 59-168545 prestores information related to a skilled circuit designer's knowledge of optimizing a circuit transformation in dependence on conditions of connections of logic elements. A circuit transformation process is performed by referring to this knowledge base, and thus the optimization of the circuit transformation is realized.
The knowledge base has components which correspond with respective logic elements containing imaginary logic elements. Each component of the knowledge base includes a combination of circuit transformation rules. Each circuit transformation rule has a condition part and a conclusion part. The condition part relates to connection conditions in an input logic element. The conclusion part relates to circuit transformation operations corresponding to the condition part. During execution of the circuit transformation process, with respect to an input logic element, reference is made to the knowledge base component corresponding to the input logic element. Subsequently, the circuit transformation rules forming the component of the knowledge base are successively analyzed by an interpreter, and connection conditions in the input logic element are sequentially collated with the condition parts of the circuit transformation rules to find the condition part of the circuit transformation rule which matches the connection conditions of the input logic element. Finally, the circuit transformation is performed in accordance with the conclusion part of the circuit transformation rule whose condition part matches the connection conditions of the input logic element.
The logic design system of Japanese patent application 59-168545 has the following problems. Since the circuit transformation rules are successively analyzed by the interpreter, the circuit transformation process speed tends to be low. In addition, a direct description of the circuit transformation inference algorithm is difficult.